import LoginService from "api/login";
import Ajax from 'api/customajax';
import store from 'store';
import router from 'router';
import * as types from 'store/modules/login';

let appid = '';
const CAS_SERVER = "https://cas.dgut.edu.cn/"; //'http://127.0.0.1:8089/dirms-service/' //true ? "https://cas.dgut.edu.cn/" : "https://cas.gemcho.com/";
//获取CAS 中本系统的appid
// console.log('getAppInfo');
LoginService.getAppInfo(function(data) {
    appid = data.appId;
    // console.log('appid');
    // console.log(appid);
});




// 跳转到第三方登录平台CAS地址
export const CAS_LOGINURL = CAS_SERVER + "?appid=" + appid + "&state=login";
// 登出第三方登录平台CAS地址
export const CAS_LOGOUTURL = CAS_SERVER + 'logout?callback=' + window.location.origin + window.location.pathname;


// // 跳转到第三方登录平台CAS地址  测试地址
// export const CAS_LOGINURL = CAS_SERVER + "pages/1.jsp?appid=" + appid + "&state=login";
// // 登出第三方登录平台CAS地址   测试地址
// export const CAS_LOGOUTURL = CAS_SERVER + 'cas/logout?callback=' + window.location.origin + window.location.pathname;



// console.log(CAS_LOGINURL);
// console.log(CAS_LOGOUTURL);
export default {

    login() {
        this.logout();
        // 跳转到第三方登录平台CAS
        window.location = CAS_LOGINURL;
    },
    logout() {
        //前端注销
        store.commit(types.LOGOUT_USER);
        //后台服务器注销
        LoginService.userLogout({})
            .then(function(data) {
                console.log('注销');
                router.push('/login');
            })
            .catch(function(err) {
                console.error(err);
            });
    },
    caslogout() {
        this.logout();
        //登出 第三方登录平台CAS
        window.location = CAS_LOGOUTURL;
    },
    // cas跳转回来以后做  本地的登录
    localLogin(token) {
        return new Promise(function(resolve, reject) {
            LoginService.cas_getUser({ token: token })
                .then(function(response) {
                    LoginService.userLogin(response.data)
                        .then(function(response) {
                            if (response.data) {
                                store.commit(types.LOGIN_SUCCESS, response.data);
                                resolve(true);
                            } else {
                                resolve(false);
                            }
                        })
                        .catch(function(error) {
                            reject(error)
                        });
                }).catch(function(error) {
                    reject(error)
                });
        });
    }
}